package com.red.springmanual.usespring.ioc;

import com.red.springmanual.spring.Autowire;
import org.springframework.stereotype.Component;

/**
 *  Aservice 生命周期
 *  1.实例化 -》 对象
 *  2.填充bservice
 *      Bservice 生命周期
 *      1.实例化 -》 普通对象
 *      2.填充aservice 属性
 *      3.其他属性
 *      4.其他事情
 *      5.添加到单例池
 *  3.其他属性
 *  4.其他事情
 *  5.添加到单例池
 *
 *  三级缓存  DefaultSingletonBeanRegistry
 *  第一级缓存 singletonObjects
 *  第二级缓存 earlySingletonObjects
 *  第三级缓存 singletonFactories
 */


/**
 *  自己模拟处理
 *  Aservice 生命周期
 *  1.实例化 -》 对象 -》 构建一个map  redmap.put("aService",Aservice 普通对象)
 *  2.填充bservice
 *      Bservice 生命周期
 *      1.实例化 -》 普通对象
 *      2.填充aservice 属性 -》 redMap 里面去找-》AService 普通对象
 *      3.其他属性
 *      4.其他事情
 *      5.添加到单例池
 *  3.其他属性
 *  4.其他事情
 *  5.添加到单例池
 *
 *  三级缓存  DefaultSingletonBeanRegistry
 *  第一级缓存 singletonObjects
 *  第二级缓存 earlySingletonObjects
 *  第三级缓存 singletonFactories
 */
@Component
public class AService {

    @Autowire
    private BService bService;
}
